/**
 * 
 */
package ventas;

import static org.junit.Assert.*;
import static org.mockito.Mockito.*;

import org.junit.Before;
import org.junit.Test;
import exceptions.VentasException;

/**
 * @author Lucas Alan Silvestri
 *
 */
public class VentaConCuentaCorrienteEnPesosTest extends VentaTest {

	@Before
	public void setUp() throws Exception {
		super.setUp();
		this.setSut(new VentaConCuentaCorrienteEnPesos(
				super.getListaDeComprasDelCliente(), 
				super.getSucursalDeLACompra(), 
				super.getClienteQueRealizaLaCompra()));
		when(this.getClienteQueRealizaLaCompra().puedePagarElMontoDesdeCCPesos(
				this.getSut().montoAPagarPorLosProductos())).thenReturn(true);
	}

	/**
	 * Este test verifica que no se haya creado un ticket con 
	 * el monto apropiado por la compra.
	 * @throws VentasException 
	 */
	@Override
	@Test
	public void ticketNoApropiadoTest() throws VentasException{
		when(this.getProductoX().precioActual()).thenReturn(5F);
		when(this.getProductoY().precioActual()).thenReturn(6F);
		when(this.getClienteQueRealizaLaCompra().puedePagarElMontoDesdeCCPesos(
				this.getSut().montoAPagarPorLosProductos())).thenReturn(true);
		this.getSut().realizarCompra();
		assertNotEquals( 55, this.getSut().getTicketDeVenta().getPrecio(), 0.002F);	
	}
	
}
